# 汉诺塔
# 对于游戏的玩法，
# 我们可以简单分解为三个步骤：
#
# 1、将前63个盘子从X移动到Y上
# 2、将最底下的第64个盘子从X移动到Z上
# 3、将Y上的63个盘子移动到Z上
def hanoi(n,x,y,z):#n表示盘子数，xyz代表三个塔
    if n==1:#只有一个盘子时，直接从X->Z即可
        print(x,"-->",z)
    else:
        hanoi(n-1,x,z,y)#将前n-1个盘子从X移到Y上(通过中间桥梁Z)
        print(x,"-->",z)#将最后一个盘子从X移到Y
        hanoi(n-1,y,x,z)#将Y上的n-1个盘子移到Z上(通过中间桥梁X)
hanoi(3,"塔X","塔Y","塔Z")#测试程序，3个盘子

